What is this?

The Custom Race-Class System is just that, a System.
Specifically, it is a System for having Races, Classes, new Skills, new Stats, Levels, and Experience Points.

There are 12 Classes defined, each with 5 new Skills of their own. There are 7 races, each with its own set of Stat bonuses, etc.

This is what is known as EXTREME BETA stage. It compiles, but by itself will do absolutely nothing.

With a few stock-script modifications, you can test out the new player type 'NewMobile' and see what the system is like. More about that later.

What is this NOT?

This is not complete.
The skills are not written. (I have several templates ready to add code to them, and got started on the 'Hypnotism' skill.)
Nothing special will 'happen' when players walk around and do things.

So how do I test this out?

OK, you will need to make a few modifications to some stock scripts to make this work.
I decided not to rewrite the PlayerMobile for this. Instead I created a derived class, 'NewMobile', so thankfully you do not have to modify that.
Instead, you need to tell the game that you want to play with a NewMobile player instead of a PlayerMobile player.
You do that in CharacterCreation.cs.

Simplest way is to change the 'CreateMobile( Account a )' routine by changing this line:

return (a[i] = new PlayerMobile());

to this:

return (a[i] = new NewMobile());


Next, you will want to let players get Experience.
You can do that by adding one line to any script that gives out things like Karma, Tokens, etc.
For example, in BaseCreature.cs, after:

Titles.AwardKarma( ds.m_Mobile, totalKarma, true );

you would add the following line:

Server.Custom.GiveExperience.toMobile( ds.m_Mobile, this );

When you create your character, you need to have a Race Stone and a Class Stone where you can use them.
You Double-Click the stone to select your Race and Class.
They should also be accessible to the players during the game, since the Class Stone allows players to switch classes or advance levels if they have enough experience.

Next, go Kill things or whatever, and use the [NewStats command to see your progress.
